home *** CD-ROM | disk | FTP | other *** search
Text File | 2003-07-17 | 44.0 KB | 1,305 lines |
- // Copyright (C) 1997-2002 Alias|Wavefront,
- // a division of Silicon Graphics Limited.
- //
- // The information in this file is provided for the exclusive use of the
- // licensees of Alias|Wavefront. Such users have the right to use, modify,
- // and incorporate this code into other products for purposes authorized
- // by the Alias|Wavefront license agreement, without fee.
- //
- // ALIAS|WAVEFRONT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- // INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- // EVENT SHALL ALIAS|WAVEFRONT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- // CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- // DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- // TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- // PERFORMANCE OF THIS SOFTWARE.
- //
- //
- // Alias|Wavefront Script File
- //
- // Creation Date: July 32, 2000
- //
- //
- // Procedure Name:
- // AEfluidAttrTemplate
- //
- // Description
- // Creates the attribute editor controls for the fluidShape node
- // and nodes derived from fluidShape
- //
- // Input Value:
- // nodeName
- //
- // Output Value:
- // None
- //
-
- global proc int AEfsAssignTextureCB( string $fileAttribute,
- string $filename,
- string $fileType )
- {
- setAttr $fileAttribute -type "string" $filename;
-
- string $currentDir = `workspace -q -dir`;
- retainWorkingDirectory ($currentDir);
-
- return true;
- }
-
- global proc AEfsTextureBrowser( string $cmd )
- {
- string $workspace = `workspace -q -fn`;
- setWorkingDirectory $workspace "image" "textures";
-
- fileBrowser ($cmd, "Open", "image", 0);
- }
-
-
- global proc AEfluidShapeInitNew( string $dummy )
- {
- setUITemplate -pst attributeEditorTemplate;
-
- rowLayout -nc 2;
-
- text -l "";
-
- button -l "Initialize"
- -c ("fluids -initialize") fluidsInitBtn;
-
- setParent ..;
-
- setUITemplate -ppt;
- }
-
- global proc AEfluidShapeInitReplace( string $dummy )
- {
- }
-
- global proc AEfluidShapeDimDynamicSim( string $nodeName )
- {
- int $density = `getAttr ($nodeName + ".densityMethod")`;
- int $velocity = `getAttr ($nodeName + ".velocityMethod")`;
- int $temperature = `getAttr ($nodeName + ".temperatureMethod")`;
- int $reaction = `getAttr ($nodeName + ".fuelMethod")`;
- int $isDyn = ($density == 2) || ($velocity==2)
- || ($temperature == 2) || ($reaction == 2);
- editorTemplate -dimControl $nodeName "gravity" ($isDyn==0);
- editorTemplate -dimControl $nodeName "viscosity" ($velocity != 2);
- editorTemplate -dimControl $nodeName "friction" ($velocity != 2);
- editorTemplate -dimControl $nodeName "velocityDamp" ($isDyn==0);
- editorTemplate -dimControl $nodeName "solver" ($isDyn==0);
- editorTemplate -dimControl $nodeName "gridInterpolator" ($isDyn==0);
- editorTemplate -dimControl $nodeName "startFrame" ($isDyn==0);
- editorTemplate -dimControl $nodeName "timeStepSize" ($isDyn==0);
- editorTemplate -dimControl $nodeName "conserveMass" ($isDyn==0);
- editorTemplate -dimControl $nodeName "doEmission" ($isDyn==0);
- editorTemplate -dimControl $nodeName "doFields" ($isDyn==0);
- editorTemplate -dimControl $nodeName "collide" ($isDyn==0);
- }
-
- global proc AEfluidShapeShaderTexture( string $nodeName )
- {
- int $color = `getAttr ($nodeName + ".colorTexture")`;
- int $incand = `getAttr ($nodeName + ".incandTexture")`;
- int $opacity = `getAttr ($nodeName + ".opacityTexture")`;
- int $state = ($color == 0) && ($incand == 0) && ( $opacity == 0 );
- int $value = `getAttr ($nodeName + ".textureType")`;
- editorTemplate -dimControl $nodeName "colorTexGain" ($color==0);
- editorTemplate -dimControl $nodeName "incandTexGain" ($incand==0);
- editorTemplate -dimControl $nodeName "opacityTexGain" ($opacity==0);
- editorTemplate -dimControl $nodeName "densityTexOffset" $state;
- editorTemplate -dimControl $nodeName "densityTexGain" $state;
- editorTemplate -dimControl $nodeName "threshold" $state;
- editorTemplate -dimControl $nodeName "amplitude" $state;
- editorTemplate -dimControl $nodeName "ratio" $state;
- editorTemplate -dimControl $nodeName "frequencyRatio" $state;
- editorTemplate -dimControl $nodeName "depthMax" $state;
- editorTemplate -dimControl $nodeName "inflection" $state;
- editorTemplate -dimControl $nodeName "invertTexture" $state;
- editorTemplate -dimControl $nodeName "textureTime" $state;
- editorTemplate -dimControl $nodeName "frequency" $state;
- editorTemplate -dimControl $nodeName "textureScale" $state;
- editorTemplate -dimControl $nodeName "textureOrigin" $state;
- editorTemplate -dimControl $nodeName "implode" $state;
- editorTemplate -dimControl $nodeName "implodeCenter" $state;
- if ( $value == 0 || $value == 3) {
- editorTemplate -dimControl $nodeName "billowDensity" true;
- editorTemplate -dimControl $nodeName "spottyness" true;
- editorTemplate -dimControl $nodeName "sizeRand" true;
- editorTemplate -dimControl $nodeName "randomness" true;
- editorTemplate -dimControl $nodeName "falloff" true;
- editorTemplate -dimControl $nodeName "numWaves" true;
- } else if ( $value == 1 ) {
- editorTemplate -dimControl $nodeName "billowDensity" false;
- editorTemplate -dimControl $nodeName "spottyness" false;
- editorTemplate -dimControl $nodeName "sizeRand" false;
- editorTemplate -dimControl $nodeName "randomness" false;
- editorTemplate -dimControl $nodeName "falloff" false;
- editorTemplate -dimControl $nodeName "numWaves" true;
- } else {
- editorTemplate -dimControl $nodeName "billowDensity" true;
- editorTemplate -dimControl $nodeName "spottyness" true;
- editorTemplate -dimControl $nodeName "sizeRand" true;
- editorTemplate -dimControl $nodeName "randomness" true;
- editorTemplate -dimControl $nodeName "falloff" true;
- editorTemplate -dimControl $nodeName "numWaves" false;
- }
- }
-
- global proc AEfluidShapeCoordMethod( string $nodeName )
- {
- int $method = `getAttr ($nodeName + ".coordinateMethod")`;
- editorTemplate -dimControl $nodeName "coordinateSpeed" ($method == 0);
- }
-
- global proc AEfluidShapeVolDraw( string $nodeName )
- {
- string $nodeAttr = $nodeName + ".surfaceRender";
- int $sr = `getAttr $nodeAttr`;
- $sd = `getAttr($nodeName + ".shadedDisplay")`;
- int $volDraw = ($sr == 0) && ($sd > 0 );
- editorTemplate -dimControl $nodeName "slices" ($volDraw==0);
- }
-
- global proc AEfluidShapeSurfaceRender( string $fullAttrName )
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
- string $nodeName = $nameBits[0];
-
- string $nodeAttr = $nodeName + ".surfaceRender";
- int $sr = `getAttr $nodeAttr`;
- $nodeAttr = $nodeName + ".sampleMethod";
- int $sm = `getAttr $nodeAttr`;
- $sd = $nodeName + ".shadedDisplay";
-
- editorTemplate -dimControl $nodeName "sampleMethod" ($sr != 0 );
-
- if( $sr == 0 ){
- editorTemplate -dimControl $nodeName "contrastTolerance" ($sm < 2);
- editorTemplate -dimControl $nodeName "softSurface" true;
- editorTemplate -dimControl $nodeName "environment" true;
- editorTemplate -dimControl $nodeName "environment_Interp" true;
- editorTemplate -dimControl $nodeName "surfaceThreshold" true;
- editorTemplate -dimControl $nodeName "surfaceTolerance" true;
- editorTemplate -dimControl $nodeName "specularColor" true;
- editorTemplate -dimControl $nodeName "cosinePower" true;
- editorTemplate -dimControl $nodeName "refractiveIndex" true;
- } else {
- editorTemplate -dimControl $nodeName "contrastTolerance" true;
- editorTemplate -dimControl $nodeName "softSurface" false;
- editorTemplate -dimControl $nodeName "environment" false;
- editorTemplate -dimControl $nodeName "environment_Interp" false;
- editorTemplate -dimControl $nodeName "surfaceThreshold" false;
- editorTemplate -dimControl $nodeName "surfaceTolerance" false;
- editorTemplate -dimControl $nodeName "specularColor" false;
- editorTemplate -dimControl $nodeName "cosinePower" false;
- editorTemplate -dimControl $nodeName "refractiveIndex" false;
- }
- AEfluidShapeVolDraw( $nodeName );
- }
-
- global proc AEfluidShapeShadedDisplay( string $nodeName )
- {
- int $sd = `getAttr ($nodeName + ".shadedDisplay")`;
- editorTemplate -dimControl $nodeName "opacityPreviewGain" ($sd < 2);
- AEfluidShapeVolDraw( $nodeName );
- }
-
- global proc AEfluidShapeWireframeDisplay( string $nodeName )
- {
- int $wd = `getAttr ($nodeName + ".wireframeDisplay")`;
- editorTemplate -dimControl $nodeName "drawSaturation" ($wd < 2);
- }
-
- global proc AEfluidShapeVelocityDraw( string $nodeName )
- {
- int $vd = `getAttr ($nodeName + ".velocityDraw")`;
- editorTemplate -dimControl $nodeName "drawHeads" ($vd == 0);
- editorTemplate -dimControl $nodeName "velocityDrawSkip" ($vd == 0);
- editorTemplate -dimControl $nodeName "velocityDrawLength" ($vd == 0);
- }
-
- global proc AEfluidShapeDrawSubVolume( string $nodeName )
- {
- int $sv = `getAttr ($nodeName + ".drawSubVolume")`;
- editorTemplate -dimControl $nodeName "subVolumeCenter" ($sv == 0);
- editorTemplate -dimControl $nodeName "subVolumeSize" ($sv == 0);
- }
-
- global proc AEfluidShapeSampleMethod( string $nodeName )
- {
- string $nodeAttr = $nodeName + ".surfaceRender";
- int $sr = `getAttr $nodeAttr`;
- $nodeAttr = $nodeName + ".sampleMethod";
- int $sm = `getAttr $nodeAttr`;
- editorTemplate -dimControl $nodeName "contrastTolerance" (($sm < 1)||($sr != 0));
- }
-
- global proc AEfluidShapeDropoffShape( string $nodeName )
- {
- string $nodeAttr = $nodeName + ".dropoffShape";
- int $value = `getAttr $nodeAttr`;
- editorTemplate -dimControl $nodeName "edgeDropoff" ($value == 0);
- }
-
-
- global proc AEfluidShapeMatteOpacity( string $nodeName )
- {
- string $nodeAttr = $nodeName + ".matteOpacityMode";
- int $value = `getAttr $nodeAttr`;
- editorTemplate -dimControl $nodeName "matteOpacity" ($value == 0);
- }
-
- global proc AEfluidShapeEmissionNew( string $attr )
- {
- string $buffer[];
- tokenize $attr "." $buffer;
- setUITemplate -pst attributeEditorTemplate;
-
- rowLayout -nc 2;
-
- text -l "";
-
- button -l "Emission Editor"
- -c ( "AEfsEmissionEditor \"" + $buffer[0] + "\"" ) fluidsEmitEditorBtn;
-
- setParent ..;
-
- setUITemplate -ppt;
- }
-
- global proc AEfluidShapeEmissionReplace( string $attr )
- {
- string $buffer[];
- tokenize $attr "." $buffer;
- button -e -c ("AEfsEmissionEditor \"" + $buffer[0] + "\"") fluidsEmitEditorBtn;
- }
-
-
- global proc AEfluidShapeHideControl( string $control )
- {
- //
- // In theory, we should just be able to unmanage the control and
- // that will stop it from using up space. In practice, MEL only
- // does this correctly if the control is at the end of a layout.
- //
- // The workaround is to shrink the control's height to 1, unmanage
- // it, then set it's height back to normal.
- //
- int $height = `control -q -height $control`;
-
- control -e -height 1 $control;
- control -e -manage false $control;
- control -e -height $height $control;
- }
-
-
- //
- // Create two integer field groups: one having 2 int fields, and one
- // having 3 int fields.
- //
- global proc AEfluidShape2d3dIntFldNew( string $label, string $fullAttrName )
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
-
- string $fieldName2d = ($attrName + "2dFld");
- string $fieldName3d = ($attrName + "3dFld");
-
- setUITemplate -pst attributeEditorTemplate;
-
- intFieldGrp -l $label -numberOfFields 2 $fieldName2d;
- intFieldGrp -l $label -numberOfFields 3 $fieldName3d;
-
- setUITemplate -ppt;
-
- AEfluidShape2d3dIntFldReplace($fullAttrName);
- }
-
-
- global proc AEfluidShapeConfirmSetResolution( string $attr,
- string $field,
- int $is2d )
- //
- // Description:
- // The user has typed into the XYZ int fields
- // to change the fluid resolution. We might need to
- // post a confirm box to give the user a chance to
- // bail if the proposed resolution is too large.
- //
- // $attr is the compound parent "resolution" attribute
- // $field is the name of the intFieldGrp
- // $is2d indicates whether $field has two fields or three
- //
- {
- int $resX = `intFieldGrp -q -v1 $field`;
- int $resY = `intFieldGrp -q -v2 $field`;
- int $resZ = 1;
-
- if( !$is2d ) {
- $resZ = `intFieldGrp -q -v3 $field`;
- }
-
- if( verifyFluidResolution( $resX, $resY, $resZ ) ) {
- evalEcho( "setAttr " + $attr + " " + $resX + " " + $resY + " " + $resZ );
- } else {
- AEfluidShapeUpdateResolution( $attr, $field, $is2d );
- }
- }
-
- global proc AEfluidShapeUpdateResolution( string $attr,
- string $field,
- int $is2d )
- //
- // Description:
- // Query the resolution attribute and stuff the current
- // values into the intFieldGrp.
- //
- {
- float $res[] = `getAttr $attr`;
-
- intFieldGrp -e -v1 $res[0] -v2 $res[1] $field;
-
- if( !$is2d ) {
- intFieldGrp -e -v3 $res[2] $field;
- }
- }
-
- //
- // If this is a 3D fluid, then enable the 3-integer field group and connect
- // it to the attribute's W, H and D components.
- //
- // If this is a 2D fluid, then enable the 2-integer field group and connect
- // it to the attribute's W and H components.
- //
- global proc AEfluidShape2d3dIntFldReplace( string $fullAttrName )
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
-
- string $fieldName2d = ($attrName + "2dFld");
- string $fieldName3d = ($attrName + "3dFld");
- string $activeField;
- string $inactiveField;
-
- int $is2d = getAttr($nodeName + ".is2d");
-
- if ($is2d)
- {
- $activeField = $fieldName2d;
- $inactiveField = $fieldName3d;
- }
- else
- {
- $activeField = $fieldName3d;
- $inactiveField = $fieldName2d;
- }
-
- AEfluidShapeHideControl($inactiveField);
-
- intFieldGrp -e
- -manage true
- -cc ( "AEfluidShapeConfirmSetResolution " +
- $fullAttrName + " " +
- $activeField + " " + $is2d )
- $activeField;
-
- if( !$is2d ) {
- intFieldGrp -e
- -v3 `getAttr ($fullAttrName + "D")`
- $activeField;
- }
-
- string $callback = ( "AEfluidShapeUpdateResolution " +
- $fullAttrName + " " +
- $activeField + " " + $is2d );
-
- // Make sure to always use the same widget for the
- // scriptJob parent, so old jobs are replaced properly;
- // it doesn't matter that the widget might not be
- // visible, since $fieldName2d and $fieldName3d are both
- // created and destroyed together. (Setting the parent
- // to whichever widget is visible could result in an
- // extra scriptJob hanging around when selecting between
- // 2D and 3D fluids.
- //
- scriptJob
- -attributeChange $fullAttrName $callback
- -parent $fieldName3d
- -replacePrevious;
-
- AEfluidShapeUpdateResolution( $fullAttrName, $activeField, $is2d );
- }
-
-
- global proc AEfluidShapeHideVectorNew( string $label, string $fullAttrName )
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
-
- setUITemplate -pst attributeEditorTemplate;
-
- attrFieldGrp -l $label -attribute $fullAttrName $attrName;
-
- setUITemplate -ppt;
-
- AEfluidShapeHideVectorReplace($fullAttrName);
- }
-
-
- //
- // If this is a 3D fluid, then hide this field.
- //
- global proc AEfluidShapeHideVectorReplace( string $fullAttrName )
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
-
- int $is2d = getAttr($nodeName + ".is2d");
-
- if ($is2d)
- AEfluidShapeHideControl($attrName);
- else
- attrFieldGrp -e -attribute $fullAttrName -manage true $attrName;
- }
-
-
- global proc AEfluidShapeHideCheckBoxNew( string $label, string $fullAttrName )
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
-
- setUITemplate -pst attributeEditorTemplate;
-
- checkBoxGrp -l1 $label -ncb 1 $attrName;
-
- setUITemplate -ppt;
-
- AEfluidShapeHideCheckBoxReplace($fullAttrName);
- }
-
-
- //
- // If this is a 2D fluid, then hide this field, otherwise connect it to
- // the specified attribute.
- //
- global proc AEfluidShapeHideCheckBoxReplace( string $fullAttrName )
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
-
- int $is2d = getAttr($nodeName + ".is2d");
- if( $attrName == "heightField" ){
- // this is hidden if not 2D
- $is2d = !$is2d;
- }
- if ($is2d)
- AEfluidShapeHideControl($attrName);
- else
- {
- control -e -manage true $attrName;
- connectControl -index 2 $attrName $fullAttrName;
- }
- }
-
-
- global proc AEfluidShapeHideIntSliderNew(string $label, string $fullAttrName)
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
-
- setUITemplate -pst attributeEditorTemplate;
-
- intSliderGrp -l $label -max 12 $attrName;
-
- setUITemplate -ppt;
-
- AEfluidShapeHideIntSliderReplace($fullAttrName);
- }
-
-
- //
- // If this is a 2D fluid, then hide this field, otherwise connect it to
- // the specified attribute.
- //
- global proc AEfluidShapeHideIntSliderReplace(string $fullAttrName)
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
-
- int $is2d = getAttr($nodeName + ".is2d");
-
- if ($is2d)
- AEfluidShapeHideControl($attrName);
- else
- {
- control -e -manage true $attrName;
- connectControl $attrName $fullAttrName;
- }
- }
-
-
- global proc AEfluidShapeImplicitNew(string $fullAttrName)
- {
- setUITemplate -pst attributeEditorTemplate;
-
- frameLayout
- -l Implicit -collapsable true -collapse true
- AEfluidImplicitFrame;
-
- floatSliderGrp -l "Blobby Threshold" AEfluidBlobbyThresholdFld;
-
- setParent ..;
-
- setUITemplate -ppt;
-
- AEfluidShapeImplicitReplace($fullAttrName);
- }
-
-
- global proc AEfluidShapeImplicitReplace(string $fullAttrName)
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- int $is2d = getAttr($nodeName + ".is2d");
-
- if ($is2d)
- AEfluidShapeHideControl("AEfluidImplicitFrame");
- else
- {
- control -e -manage true AEfluidImplicitFrame;
-
- connectControl AEfluidBlobbyThresholdFld
- ($nodeName + ".blobbyThreshold");
- }
- }
-
-
- global proc AEfluidShapeDepthNew(string $fullAttrName)
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
-
- setUITemplate -pst attributeEditorTemplate;
-
- attrFieldSliderGrp -l "Depth" -attribute $fullAttrName AEfluidDepthFld;
-
- setUITemplate -ppt;
-
- AEfluidShapeDepthReplace($fullAttrName);
- }
-
-
-
- global proc AEfluidShapeDepthReplace(string $fullAttrName)
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
-
- int $is2d = getAttr($nodeName + ".is2d");
-
- if ($is2d)
- {
- control -e -manage true AEfluidDepthFld;
- attrFieldSliderGrp -e -attribute $fullAttrName AEfluidDepthFld;
- }
- else
- AEfluidShapeHideControl("AEfluidDepthFld");
- }
-
- global proc AEfluidShapeBoundaryNew( string $fullAttrName )
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
- string $control2DName = "AEfluidShape2D" + $attrName;
- string $control3DName = "AEfluidShape3D" + $attrName;
-
- setUITemplate -pst attributeEditorTemplate;
-
- // 2D fluids don't have all the draw modes that 3D fluids do:
- // Those darned ei flags aren't editable, so we create
- // two controls and swap between them
- attrEnumOptionMenuGrp -attribute $fullAttrName -l "Boundary Draw" $control3DName;
- attrEnumOptionMenuGrp -attribute $fullAttrName -ei 2 "Outline" -ei 3 "Full"
- -ei 4 "Bounding box" -ei 5 "None" -l "Boundary Draw" $control2DName;
- setUITemplate -ppt;
-
- AEfluidShapeBoundaryReplace $fullAttrName;
- }
-
- global proc AEfluidShapeBoundaryReplace( string $fullAttrName )
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
- string $control2DName = "AEfluidShape2D" + $attrName;
- string $control3DName = "AEfluidShape3D" + $attrName;
-
- int $is2d = getAttr($nodeName + ".is2d");
-
- if ($is2d){
- control -e -manage true $control2DName;
- AEfluidShapeHideControl($control3DName);
- attrEnumOptionMenuGrp -e -attribute $fullAttrName $control2DName;
- }
- else {
- AEfluidShapeHideControl($control2DName);
- control -e -manage true $control3DName;
- attrEnumOptionMenuGrp -e -attribute $fullAttrName $control3DName;
- }
-
- }
-
-
- global proc AEfluidShapeAttrEnumNew( string $label,string $fullAttrName )
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
- string $control3DName = "AEfluidShape" + $attrName;
-
- setUITemplate -pst attributeEditorTemplate;
- attrEnumOptionMenuGrp -attribute $fullAttrName -l $label $control3DName;
- setUITemplate -ppt;
-
- AEfluidShapeAttrEnumReplace $fullAttrName;
- }
-
- global proc AEfluidShapeAttrEnumReplace( string $fullAttrName )
- {
- string $nameBits[];
- tokenize($fullAttrName, ".", $nameBits);
-
- string $nodeName = $nameBits[0];
- string $attrName = $nameBits[1];
- string $control3DName = "AEfluidShape" + $attrName;
-
- int $is2d = getAttr($nodeName + ".is2d");
-
- if ($is2d)
- AEfluidShapeHideControl($control3DName);
- else {
- control -e -manage true $control3DName;
- attrEnumOptionMenuGrp -e -attribute $fullAttrName $control3DName;
- }
-
- }
-
- global proc AEfluidShapeSurfaceRenderUpdate( string $fullAttrName )
- //
- // Description:
- // The attribute value has changed; update the radio button display
- //
- {
- int $isSurface = `getAttr $fullAttrName`;
- radioButtonGrp -e -sl ($isSurface+1) AEfluidSurfRendRadio;
- AEfluidShapeSurfaceRender( $fullAttrName );
- }
-
- global proc AEfluidShapeSurfaceRenderChanged( string $fullAttrName )
- //
- // Description:
- // Binking on the radio button should update the attr value
- //
- {
- int $isSurfRender = `radioButtonGrp -q -sl AEfluidSurfRendRadio` == 2;
- if( $isSurfRender != `getAttr $fullAttrName` ) {
- evalEcho ("setAttr " + $fullAttrName + " " + $isSurfRender );
- }
- }
-
- global proc AEfluidShapeSurfaceRenderNew( string $fullAttrName )
- {
- setUITemplate -pst attributeEditorTemplate;
- radioButtonGrp
- -nrb 2 -l "" -l1 "Volume Render" -l2 "Surface Render"
- AEfluidSurfRendRadio;
- setUITemplate -ppt ;
-
- AEfluidShapeSurfaceRenderReplace( $fullAttrName );
- }
-
- global proc AEfluidShapeSurfaceRenderReplace( string $fullAttrName )
- {
- radioButtonGrp -e
- -cc ( "AEfluidShapeSurfaceRenderChanged " + $fullAttrName )
- AEfluidSurfRendRadio;
-
- scriptJob
- -attributeChange $fullAttrName ("AEfluidShapeSurfaceRenderUpdate " +
- $fullAttrName)
- -parent AEfluidSurfRendRadio
- -replacePrevious;
-
- // This *must* be deferred because in the case when
- // we're creating new widgets, executing the update
- // proc right away can try to dim things that don't
- // exist yet. This wound up creating some very bizarre
- // attachment behaviour, reversing the locations and
- // sizes of the map buttons and value sliders for attrs
- // like tolerance, cosine power, refractive index, etc.
- //
- evalDeferred( "AEfluidShapeSurfaceRenderUpdate " + $fullAttrName );
- }
-
- global proc AEfluidShapeCloudSurfaceUpdate( string $fullAttrName )
- //
- // Description:
- // The attribute value has changed; update the radio button display
- //
- {
- int $isCloud = `getAttr $fullAttrName`;
- radioButtonGrp -e -sl ($isCloud+1) AEfluidCloudSurfRadio;
- }
-
- global proc AEfluidShapeCloudSurfaceChanged( string $fullAttrName )
- //
- // Description:
- // Binking on the radio button should update the attr value
- //
- {
- int $isCloud = `radioButtonGrp -q -sl AEfluidCloudSurfRadio` == 2;
- if( $isCloud != `getAttr $fullAttrName` ) {
- evalEcho( "setAttr " + $fullAttrName + " " + $isCloud );
- }
- }
-
- global proc AEfluidShapeCloudSurfaceNew( string $fullAttrName )
- {
- setUITemplate -pst attributeEditorTemplate;
- radioButtonGrp
- -nrb 2 -l "" -l1 "Hard Surface" -l2 "Soft Surface"
- AEfluidCloudSurfRadio;
- setUITemplate -ppt ;
-
- AEfluidShapeCloudSurfaceReplace( $fullAttrName );
- }
-
- global proc AEfluidShapeCloudSurfaceReplace( string $fullAttrName )
- {
- radioButtonGrp -e
- -cc ( "AEfluidShapeCloudSurfaceChanged " + $fullAttrName )
- AEfluidCloudSurfRadio;
-
- scriptJob
- -attributeChange $fullAttrName ("AEfluidShapeCloudSurfaceUpdate " +
- $fullAttrName)
- -parent AEfluidCloudSurfRadio
- -replacePrevious;
-
- AEfluidShapeCloudSurfaceUpdate( $fullAttrName );
- }
-
- global proc AEfluidShapeUpdateDensity( string $nodeName )
- {
- int $method = getAttr($nodeName + ".densityMethod");
- int $vmethod = getAttr($nodeName + ".velocityMethod");
- int $dynGrid = ($method == 2);
- int $dynVel = ($vmethod == 2);
- int $grid = $dynGrid || ($method == 1);
- int $vOff = ($method == 0);
- editorTemplate -dimControl $nodeName "densityScale" $vOff;
- editorTemplate -dimControl $nodeName "densityBuoyancy" (!$dynVel || $vOff);
- editorTemplate -dimControl $nodeName "densityDissipation" (!$grid);
- editorTemplate -dimControl $nodeName "densityDiffusion" (!$dynGrid);
- editorTemplate -dimControl $nodeName "densityGradient" ($grid || $vOff);
- AEfluidShapeDimDynamicSim( $nodeName ) ;
- }
-
- global proc AEfluidShapeUpdateVelocity( string $nodeName )
- {
- int $method = getAttr($nodeName + ".velocityMethod");
- int $dynGrid = ($method == 2);
- int $grid = $dynGrid || ($method == 1);
- int $vOff = ($method == 0);
- editorTemplate -dimControl $nodeName "velocityScale" $vOff;
- editorTemplate -dimControl $nodeName "velocitySwirl" (!$dynGrid);
- editorTemplate -dimControl $nodeName "velocityGradient" ($grid || $vOff);
- AEfluidShapeDimDynamicSim( $nodeName ) ;
- // velocity method can affect whether buoyancy and temperature turbulence apply
- AEfluidShapeUpdateDensity( $nodeName ) ;
- AEfluidShapeUpdateTemperature( $nodeName ) ;
- }
-
- global proc AEfluidShapeUpdateTemperature( string $nodeName )
- {
- int $method = getAttr($nodeName + ".temperatureMethod");
- int $rMethod = getAttr($nodeName + ".fuelMethod");
- int $vmethod = getAttr($nodeName + ".velocityMethod");
- int $dynGrid = ($method == 2);
- int $dynVel = ($vmethod == 2);
- int $grid = $dynGrid || ($method == 1);
- int $vOff = ($method == 0);
- int $rOff = ($rMethod == 0);
- editorTemplate -dimControl $nodeName "temperatureScale" $vOff;
- editorTemplate -dimControl $nodeName "buoyancy" (!$dynVel || $vOff);
- editorTemplate -dimControl $nodeName "temperatureDissipation" (!$grid);
- editorTemplate -dimControl $nodeName "temperatureDiffusion" (!$dynGrid);
- editorTemplate -dimControl $nodeName "temperatureTurbulence" (!$dynVel || !$grid);
- editorTemplate -dimControl $nodeName "heatReleased" (!$grid || $rOff);
- editorTemplate -dimControl $nodeName "temperatureGradient" ($grid || $vOff);
- AEfluidShapeDimDynamicSim( $nodeName ) ;
- }
-
- global proc AEfluidShapeUpdateReaction( string $nodeName )
- {
- int $method = getAttr($nodeName + ".fuelMethod");
- int $dynGrid = ($method == 2);
- // at the moment, reaction is never static, but just in case...
- int $grid = $dynGrid || ($method == 1);
- int $vOff = ($method == 0);
- int $tmethod = getAttr($nodeName + ".temperatureMethod");
- int $tGrid = ($tmethod == 2) || ($tmethod == 1 );
-
- editorTemplate -dimControl $nodeName "fuelScale" $vOff;
- editorTemplate -dimControl $nodeName "reactionSpeed" (!$grid);
- editorTemplate -dimControl $nodeName "fuelIgnitionTemp" (!$grid);
- editorTemplate -dimControl $nodeName "maxReactionTemp" (!$grid);
- editorTemplate -dimControl $nodeName "heatReleased" (!$tGrid || $vOff);
- editorTemplate -dimControl $nodeName "lightReleased" $vOff;
- editorTemplate -dimControl $nodeName "lightColor" $vOff;
- editorTemplate -dimControl $nodeName "fuelGradient" ($grid || $vOff);
- AEfluidShapeDimDynamicSim( $nodeName ) ;
- }
-
- global proc AEfluidShapeUpdateColor( string $nodeName )
- {
- int $method = getAttr($nodeName + ".colorMethod");
- int $useColor = ($method > 0);
- editorTemplate -dimControl $nodeName "colorDissipation" (!$useColor);
- editorTemplate -dimControl $nodeName "colorDiffusion" (!$useColor);
- editorTemplate -dimControl $nodeName "color" ($useColor);
- editorTemplate -dimControl $nodeName "color_Interp" ($useColor);
- editorTemplate -dimControl $nodeName "colorInput" ($useColor);
- editorTemplate -dimControl $nodeName "colorInputBias" ($useColor);
- }
-
- global proc AEfluidShapeSelfShadow( string $nodeName )
- {
- int $shadow = getAttr($nodeName + ".selfShadowing");
- editorTemplate -dimControl $nodeName "hardwareSelfShadow" (!$shadow);
- editorTemplate -dimControl $nodeName "shadowOpacity" (!$shadow);
- }
- global proc AEfluidShapeRealLights( string $nodeName )
- {
- int $realLights = getAttr($nodeName + ".realLights");
- editorTemplate -dimControl $nodeName "directionalLight" ($realLights);
- }
-
- global proc AEfluidAttrTemplate( string $nodeName, string $nodeType )
- {
- int $debug = 0;
- editorTemplate -beginScrollLayout;
-
- editorTemplate -beginLayout "Container Properties" -collapse false;
- editorTemplate -suppress "is2d";
- editorTemplate -callCustom
- "AEfluidShape2d3dIntFldNew Resolution"
- AEfluidShape2d3dIntFldReplace
- resolution;
- editorTemplate -suppress resolution;
- editorTemplate -addControl -l "Size" "dimensions";
- editorTemplate -addControl "boundaryX";
- editorTemplate -addControl "boundaryY";
- editorTemplate -callCustom
- "AEfluidShapeAttrEnumNew \"Boundary Z\""
- AEfluidShapeAttrEnumReplace
- boundaryZ;
- editorTemplate -suppress boundaryZ;
- editorTemplate -callCustom
- "AEfluidShapeHideCheckBoxNew \"Use Height Field\""
- AEfluidShapeHideCheckBoxReplace
- heightField;
- editorTemplate -suppress heightField;
-
- editorTemplate -endLayout;
-
- editorTemplate -beginLayout "Contents Method" -collapse false;
-
- editorTemplate -addSeparator;
- editorTemplate -addControl -l "Density" "densityMethod"
- "AEfluidShapeUpdateDensity";
- editorTemplate -addControl "densityGradient";
- editorTemplate -addSeparator;
- editorTemplate -addControl -l "Velocity" "velocityMethod"
- "AEfluidShapeUpdateVelocity";
- editorTemplate -addControl "velocityGradient";
- editorTemplate -addSeparator;
- editorTemplate -addControl -l "Temperature" "temperatureMethod"
- "AEfluidShapeUpdateTemperature";
- editorTemplate -addControl "temperatureGradient";
- editorTemplate -addSeparator;
- editorTemplate -addControl -l "Fuel" "fuelMethod"
- "AEfluidShapeUpdateReaction";
- editorTemplate -addControl -l "Fuel Gradient" "fuelGradient";
- editorTemplate -addSeparator;
-
- editorTemplate -addControl "colorMethod"
- "AEfluidShapeUpdateColor";
-
- editorTemplate -endLayout;
-
- editorTemplate -beginLayout "Display" -collapse true;
-
- editorTemplate -addControl "shadedDisplay" "AEfluidShapeShadedDisplay";
- editorTemplate -addControl "opacityPreviewGain";
- editorTemplate -callCustom
- "AEfluidShapeHideIntSliderNew \"Slices per Voxel\""
- AEfluidShapeHideIntSliderReplace
- slices;
- editorTemplate -addControl "voxelQuality";
- editorTemplate -suppress slices;
- editorTemplate -addSeparator;
- editorTemplate -callCustom
- "AEfluidShapeBoundaryNew"
- AEfluidShapeBoundaryReplace
- boundaryDraw;
- editorTemplate -suppress boundaryDraw;
- editorTemplate -addControl "numericDisplay";
- editorTemplate -addControl "wireframeDisplay" "AEfluidShapeWireframeDisplay";
-
- editorTemplate -addSeparator;
-
- editorTemplate -suppress subVolumeCenter;
- editorTemplate -suppress subVolumeSize;
- editorTemplate -suppress drawSubVolume;
-
- editorTemplate -addControl "velocityDraw" "AEfluidShapeVelocityDraw";
- editorTemplate -addControl -l "Draw Arrowheads" "drawHeads";
- editorTemplate -addControl "velocityDrawSkip";
- editorTemplate -addControl -l "Draw Length" "velocityDrawLength";
-
- editorTemplate -endLayout;
-
- editorTemplate -beginLayout "Dynamic Simulation" -collapse true;
- editorTemplate -suppress "currentTime";
- editorTemplate -addControl "gravity";
- editorTemplate -addControl "viscosity";
- editorTemplate -addControl -l "Friction" "friction";
- editorTemplate -addControl -l "Damp" "velocityDamp";
- editorTemplate -addSeparator;
- // editorTemplate -suppress "solver";
- editorTemplate -addControl "solver";
- editorTemplate -addControl "gridInterpolator";
- editorTemplate -addControl "startFrame";
-
- // this is to set the simulation step
- editorTemplate -suppress "overrideTimeStep";
- editorTemplate -addControl "simulationRateScale";
- editorTemplate -addControl -l "Disable Evaluation" "disableInteractiveEval";
-
- // This needs to be generic solver attr instead
- editorTemplate -addSeparator;
- editorTemplate -beginNoOptimize;
- editorTemplate -addControl "conserveMass";
- editorTemplate -addControl -l "Use Collisions" "collide";
- editorTemplate -addControl -l "Use Emission" "doEmission";
- editorTemplate -addControl -l "Use Fields" "doFields";
- editorTemplate -endNoOptimize;
-
- // unused dynamic attributes(add eventually??)
- editorTemplate -suppress "inheritFactor";
- editorTemplate -suppress "seed";
- editorTemplate -suppress "inputForce";
- editorTemplate -suppress "emissionFunction";
- editorTemplate -suppress "massConversion";
-
-
- editorTemplate -endLayout;
-
- editorTemplate -beginLayout "Contents Details" -collapse true;
- editorTemplate -beginLayout "Density" -collapse true;
- editorTemplate -addControl -l "Density Scale" "densityScale";
- editorTemplate -addControl -l "Buoyancy" "densityBuoyancy";
- editorTemplate -addControl -l "Dissipation" "densityDissipation";
- editorTemplate -addControl -l "Diffusion" "densityDiffusion";
- editorTemplate -endLayout;
- editorTemplate -beginLayout "Velocity " -collapse true;
- editorTemplate -addControl "velocityScale";
- editorTemplate -addControl -l "Swirl" "velocitySwirl";
- editorTemplate -endLayout;
- editorTemplate -beginLayout "Turbulence " -collapse true;
- editorTemplate -addControl -l "Strength" "turbulenceStrength";
- editorTemplate -addControl -l "Frequency" "turbulenceFrequency";
- editorTemplate -addControl -l "Speed" "turbulenceSpeed";
- editorTemplate -suppress "turbulenceRes";
- editorTemplate -suppress "velocityAdvect";
- editorTemplate -suppress "velocityProject";
- editorTemplate -endLayout;
- editorTemplate -beginLayout "Temperature" -collapse true;
- editorTemplate -addControl -l "Temperature Scale" "temperatureScale";
- editorTemplate -addControl -l "Buoyancy" "buoyancy";
- editorTemplate -addControl -l "Dissipation" "temperatureDissipation";
- editorTemplate -addControl -l "Diffusion" "temperatureDiffusion";
- editorTemplate -addControl -l "Turbulence" "temperatureTurbulence";
- editorTemplate -endLayout;
- editorTemplate -beginLayout "Fuel" -collapse true;
- editorTemplate -addControl -l "Fuel Scale" "fuelScale";
- editorTemplate -addControl "reactionSpeed";
- editorTemplate -addControl -l "Ignition Temperature" "fuelIgnitionTemp";
- editorTemplate -addControl -l "Max Temperature" "maxReactionTemp";
- editorTemplate -addControl -l "Heat Released" "heatReleased";
- editorTemplate -addControl -l "Light Released" "lightReleased";
- editorTemplate -addControl -l "Light Color" "lightColor";
- editorTemplate -endLayout;
- editorTemplate -beginLayout "Color" -collapse true;
- editorTemplate -addControl -l "Color Dissipation" "colorDissipation";
- editorTemplate -addControl -l "Color Diffusion" "colorDiffusion";
- editorTemplate -endLayout;
- editorTemplate -endLayout;
- editorTemplate -beginLayout "Grids Cache" -collapse true;
- editorTemplate -suppress "cacheDensity";
- editorTemplate -suppress "cacheVelocity";
- editorTemplate -suppress "cacheTemperature";
- editorTemplate -suppress "cacheReaction";
- editorTemplate -suppress "cacheColor";
- editorTemplate -suppress "cacheTextureCoordinates";
- editorTemplate -endNoOptimize;
- editorTemplate -beginNoOptimize;
- editorTemplate -addControl -l "Read Density" "loadDensity";
- editorTemplate -addControl -l "Read Velocity" "loadVelocity";
- editorTemplate -addControl -l "Read Temperature" "loadTemperature";
- editorTemplate -addControl -l "Read Fuel" "loadReaction";
- editorTemplate -addControl -l "Read Color" "loadColor";
- editorTemplate -addControl -l "Read Texture Coordinates" "loadTextureCoordinates";
- editorTemplate -endNoOptimize;
- editorTemplate -endLayout;
-
- if( $nodeType == "fluidShape" ){
- editorTemplate -beginLayout "Surface" -collapse true;
- editorTemplate -callCustom AEfluidShapeSurfaceRenderNew
- AEfluidShapeSurfaceRenderReplace surfaceRender;
-
- editorTemplate -suppress "surfaceRender";
- editorTemplate -suppress "softSurface";
-
- editorTemplate -callCustom AEfluidShapeCloudSurfaceNew
- AEfluidShapeCloudSurfaceReplace softSurface;
-
- editorTemplate -addControl "surfaceThreshold";
- editorTemplate -addControl "surfaceTolerance";
- editorTemplate -addControl "specularColor";
- editorTemplate -addControl "cosinePower";
- AEaddRampControl "environment";
- editorTemplate -addControl "refractiveIndex";
-
- editorTemplate -endLayout;
- } else {
- editorTemplate -suppress "surfaceRender";
- editorTemplate -suppress "softSurface";
- editorTemplate -suppress "surfaceThreshold";
- editorTemplate -suppress "surfaceTolerance";
- editorTemplate -suppress "specularColor";
- editorTemplate -suppress "cosinePower";
- editorTemplate -suppress "environment";
- editorTemplate -suppress "refractiveIndex";
- }
-
- editorTemplate -beginLayout "Shading" -collapse true;
- editorTemplate -addControl "transparency";
- if( $nodeType == "fluidShape" ){
- editorTemplate -addControl "glowIntensity";
- } else {
- editorTemplate -suppress "glowIntensity";
- }
- editorTemplate -addSeparator;
- editorTemplate -addControl "dropoffShape" "AEfluidShapeDropoffShape";
- editorTemplate -addControl "edgeDropoff";
-
- AEaddRampControl "color";
- // editorTemplate -addControl "colorInputBias";
-
- AEaddRampControl "incandescence";
- // editorTemplate -addControl "incandescenceInputBias";
-
- AEaddRampControl "opacity";
- // editorTemplate -addControl "opacityInputBias";
-
- editorTemplate -beginLayout "Matte Opacity" -collapse true;
- editorTemplate -addControl "matteOpacityMode" "AEfluidShapeMatteOpacity";
- editorTemplate -addControl "matteOpacity";
- editorTemplate -endLayout;
- editorTemplate -endLayout;
-
- editorTemplate -beginLayout "Shading Quality" -collapse true;
- if( $nodeType == "fluidShape" ){
- editorTemplate -addControl "quality";
- editorTemplate -addControl "contrastTolerance";
- editorTemplate -addControl "sampleMethod" "AEfluidShapeSampleMethod";
- } else {
- editorTemplate -suppress "quality";
- editorTemplate -suppress "contrastTolerance";
- editorTemplate -suppress "sampleMethod";
- }
- editorTemplate -addControl "renderInterpolator";
- editorTemplate -endLayout;
-
- editorTemplate -beginLayout "Textures" -collapse true;
- editorTemplate -beginNoOptimize;
- editorTemplate -addControl -l "Texture Color" "colorTexture" "AEfluidShapeShaderTexture";
- editorTemplate -addControl -l "Texture Incandescence" "incandTexture" "AEfluidShapeShaderTexture";
- editorTemplate -addControl -l "Texture Opacity" "opacityTexture" "AEfluidShapeShaderTexture";
- editorTemplate -addControl "textureType" "AEfluidShapeShaderTexture";
- editorTemplate -endNoOptimize;
- editorTemplate -addControl -l "Coordinate Method" "coordinateMethod" "AEfluidShapeCoordMethod";
- editorTemplate -addControl "coordinateSpeed";
- editorTemplate -addSeparator;
- editorTemplate -addControl "colorTexGain";
- editorTemplate -addControl "incandTexGain";
- editorTemplate -addControl "opacityTexGain";
- editorTemplate -addSeparator;
- editorTemplate -addControl "threshold";
- editorTemplate -addControl "amplitude";
- editorTemplate -addControl "ratio";
- editorTemplate -addControl "frequencyRatio";
- editorTemplate -addControl "depthMax";
- editorTemplate -beginNoOptimize;
- editorTemplate -addControl "invertTexture";
- editorTemplate -addControl "inflection";
- editorTemplate -endNoOptimize;
- editorTemplate -addSeparator;
- editorTemplate -addControl "textureTime";
- editorTemplate -addControl "frequency";
- editorTemplate -addControl "textureScale";
- editorTemplate -addControl "textureOrigin";
- editorTemplate -addSeparator;
- editorTemplate -addControl "implode";
- editorTemplate -addControl "implodeCenter";
- editorTemplate -addSeparator;
- editorTemplate -addControl "billowDensity";
- editorTemplate -addControl "spottyness";
- editorTemplate -addControl "sizeRand";
- editorTemplate -addControl "randomness";
- editorTemplate -addControl "falloff";
- editorTemplate -addSeparator;
- editorTemplate -addControl -l "Number Of Waves" "numWaves";
- editorTemplate -endLayout;
-
- if( $nodeType == "fluidShape" ){
- editorTemplate -beginLayout "Lighting" -collapse true;
- /*
- editorTemplate -callCustom
- "AEfluidShapeHideCheckBoxNew \"Self Shadowing\""
- AEfluidShapeHideCheckBoxReplace
- selfShadowing;
- editorTemplate -suppress selfShadowing;
- */
- editorTemplate -addControl -l "Self Shadow" "selfShadowing" "AEfluidShapeSelfShadow";
- editorTemplate -addControl -l "Hardware Shadow" "hardwareSelfShadow";
- editorTemplate -addControl "shadowOpacity";
- editorTemplate -addSeparator;
- editorTemplate -addControl "realLights" "AEfluidShapeRealLights";
- editorTemplate -addControl "directionalLight";
- editorTemplate -endLayout;
- } else {
- editorTemplate -suppress selfShadowing;
- editorTemplate -suppress hardwareSelfShadow;
- editorTemplate -suppress shadowOpacity;
- editorTemplate -suppress realLights;
- editorTemplate -suppress directionalLight;
- }
- if( $nodeType != "fluidShape" ){
- // Standard texture color controls
- editorTemplate -beginLayout "Color Balance" -collapse true;
- editorTemplate -addControl "defaultColor";
- editorTemplate -addControl "alphaGain";
- editorTemplate -addControl "alphaOffset";
- editorTemplate -endLayout;
- }
-
- if ( $debug ) {
- editorTemplate -beginLayout "Output" -collapse false;
- editorTemplate -endLayout;
- }
-
- // Suppress attrs not currently used or not editable
- editorTemplate -suppress "diskCache";
- editorTemplate -suppress "diskCacheIC";
- editorTemplate -suppress "objectType";
- editorTemplate -suppress "surfaceShaderDepth";
-
- // include/call base class/node attributes
- if( $nodeType == "fluidShape" ){
- AEsurfaceShapeTemplate $nodeName;
- } else {
- AEshapeTemplate $nodeName;
- editorTemplate -suppress "ignoreSelfShadowing";
- editorTemplate -suppress "controlPoints";
- editorTemplate -suppress "weights";
- editorTemplate -suppress "tweak";
- editorTemplate -suppress "relativeTweak";
- editorTemplate -suppress "currentUVSet";
- editorTemplate -suppress "uvSet";
- editorTemplate -suppress "compInstObjGroups";
- editorTemplate -suppress "smoothShading";
- editorTemplate -suppress "castsShadows";
- editorTemplate -suppress "receiveShadows";
- editorTemplate -suppress "motionBlur";
- editorTemplate -suppress "primaryVisibility";
- editorTemplate -suppress "visibleInReflections";
- editorTemplate -suppress "visibleInRefractions";
- editorTemplate -suppress "doubleSided";
- editorTemplate -suppress "opposite";
- editorTemplate -suppress "geometryAntialiasingOverride";
- editorTemplate -suppress "antialiasingLevel";
- editorTemplate -suppress "shadingSamplesOverride";
- editorTemplate -suppress "shadingSamples";
- editorTemplate -suppress "maxShadingSamples";
- editorTemplate -suppress "volumeSamplesOverride";
- editorTemplate -suppress "volumeSamples";
- editorTemplate -suppress "depthJitter";
- editorTemplate -suppress "maxVisibilitySamplesOverride";
- editorTemplate -suppress "maxVisibilitySamples";
- editorTemplate -suppress "boundingBoxScale";
- editorTemplate -suppress "featureDisplacement";
- editorTemplate -suppress "initialSampleRate";
- editorTemplate -suppress "extraSampleRate";
- editorTemplate -suppress "textureThreshold";
- editorTemplate -suppress "normalThreshold";
- }
-
- editorTemplate -addExtraControls;
- editorTemplate -endScrollLayout;
- }
-
-